package com.ruoyi.standingbook.v2toilet.service;

import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.standingbook.v2toilet.bill.BillSendBean;
import com.ruoyi.standingbook.v2toilet.domain.bo.V2ToiletBillBo;
import com.ruoyi.standingbook.v2toilet.domain.vo.V2ToiletBillVo;
import com.ruoyi.standingbook.v2toilet.enums.ItemStatusEnum;

import java.util.Collection;
import java.util.List;
import java.util.Map;

/**
 * V2市政公厕管养-异常工单Service接口
 *
 * @author cc
 * @date 2023-06-07
 */
public interface IToiletBillService {

    /**
     * 查询V2市政公厕管养-异常工单
     */
    V2ToiletBillVo queryById(String id);

    V2ToiletBillVo queryByFlowCode(ItemStatusEnum commit, String code);

    /**
     * 查询V2市政公厕管养-异常工单列表
     */
    TableDataInfo<V2ToiletBillVo> queryPageList(V2ToiletBillBo bo, PageQuery pageQuery);

    /**
     * 查询V2市政公厕管养-异常工单列表
     */
    List<V2ToiletBillVo> queryList(V2ToiletBillBo bo);

    V2ToiletBillVo queryOne(V2ToiletBillBo bo);

    /**
     * 新增V2市政公厕管养-异常工单
     */
    Boolean insertByBo(V2ToiletBillBo bo);

    /**
     * 修改V2市政公厕管养-异常工单
     */
    Boolean updateByBo(V2ToiletBillBo bo);

    /**
     * 校验并批量删除V2市政公厕管养-异常工单信息
     */
    Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);

    Boolean batchInsertByBo(List<V2ToiletBillBo> bills);

    Boolean batchInsertOrUpdate(List<V2ToiletBillBo> bills);

    List<String> listChangeInfo(Map<String, Object> map);

    List<BillSendBean> querySendValue(V2ToiletBillBo queryBo);

    int updateByFlowCode(ItemStatusEnum commit, List<String> ids);

    V2ToiletBillVo flowData(V2ToiletBillBo bo);


}
